import { IPSDBIndexBase } from './ipsdbindex-base';
import { IPSSysDBIndexColumn } from './ipssys-dbindex-column';

/**
 *
 * @export
 * @interface IPSSysDBIndex
 */
export interface IPSSysDBIndex extends IPSDBIndexBase {
  /**
   * 索引列对象集合
   *
   * @type {IPSSysDBIndexColumn[]}
   */
  getAllPSSysDBIndexColumns(): IPSSysDBIndexColumn[] | null;

  /**
   * 索引列对象集合
   *
   * @type {IPSSysDBIndexColumn[]}
   */
  get allPSSysDBIndexColumns(): IPSSysDBIndexColumn[] | null;

  findPSSysDBIndexColumn(objKey: any): IPSSysDBIndexColumn | null;

  /**
   * 移除模式
   * @type {boolean}
   * @default false
   */
  removeFlag: boolean;

  /**
   * 来源类型
   * @description 值模式 [系统数据库索引来源] {DEDBINDEX：实体数据索引、 DER：实体关系 }
   * @type {( string | 'DEDBINDEX' | 'DER')}
   */
  sourceType: string | 'DEDBINDEX' | 'DER';
}
